package com.lg.patter.behavior.observed.callback;

import java.util.Vector;

/**
 * @author by Mr. Li 2020/6/11 13:16
 */
public class EventSource {

    // 监听器列表，监听器的注册加入此列表
    private Vector<EventListener> eventListeners = new Vector<>();

    // 注册监听器
    public void addListener(EventListener eventListener) {
        eventListeners.add(eventListener);
    }

    // 撤销注册
    public void removeListener(EventListener eventListener) {
        eventListeners.remove(eventListener);
    }

    // 唤醒所有的对象
    public void notifyListenerEvent(EventObject eventObject) {
        for (EventListener eventListener : eventListeners) {
            eventListener.handleEvent(eventObject);
        }

    }
}
